/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Persistencia;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author BATAQUERO
 */
@Entity
@Table(name = "calificacion_desempeno")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "CalificacionDesempeno.findAll", query = "SELECT c FROM CalificacionDesempeno c"),
    @NamedQuery(name = "CalificacionDesempeno.findByIdCalificacionDesempeno", query = "SELECT c FROM CalificacionDesempeno c WHERE c.calificacionDesempenoPK.idCalificacionDesempeno = :idCalificacionDesempeno"),
    @NamedQuery(name = "CalificacionDesempeno.findByIdSupervisorEntidad", query = "SELECT c FROM CalificacionDesempeno c WHERE c.calificacionDesempenoPK.idSupervisorEntidad = :idSupervisorEntidad"),
    @NamedQuery(name = "CalificacionDesempeno.findByIdEstudiante", query = "SELECT c FROM CalificacionDesempeno c WHERE c.calificacionDesempenoPK.idEstudiante = :idEstudiante"),
    @NamedQuery(name = "CalificacionDesempeno.findByDesempenoCargo", query = "SELECT c FROM CalificacionDesempeno c WHERE c.desempenoCargo = :desempenoCargo"),
    @NamedQuery(name = "CalificacionDesempeno.findByDesempenoCargoObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.desempenoCargoObservaciones = :desempenoCargoObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByCooperacionTrabEquipo", query = "SELECT c FROM CalificacionDesempeno c WHERE c.cooperacionTrabEquipo = :cooperacionTrabEquipo"),
    @NamedQuery(name = "CalificacionDesempeno.findByCooperacionTrabEquipoObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.cooperacionTrabEquipoObservaciones = :cooperacionTrabEquipoObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByLiderazgoIniciativa", query = "SELECT c FROM CalificacionDesempeno c WHERE c.liderazgoIniciativa = :liderazgoIniciativa"),
    @NamedQuery(name = "CalificacionDesempeno.findByLiderazgoIniciativaObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.liderazgoIniciativaObservaciones = :liderazgoIniciativaObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByComunicacion", query = "SELECT c FROM CalificacionDesempeno c WHERE c.comunicacion = :comunicacion"),
    @NamedQuery(name = "CalificacionDesempeno.findByComunicacionObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.comunicacionObservaciones = :comunicacionObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByAtencionUsuarios", query = "SELECT c FROM CalificacionDesempeno c WHERE c.atencionUsuarios = :atencionUsuarios"),
    @NamedQuery(name = "CalificacionDesempeno.findByAtencionUsuariosObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.atencionUsuariosObservaciones = :atencionUsuariosObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByCalidadTrabajo", query = "SELECT c FROM CalificacionDesempeno c WHERE c.calidadTrabajo = :calidadTrabajo"),
    @NamedQuery(name = "CalificacionDesempeno.findByCalidadTrabajoObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.calidadTrabajoObservaciones = :calidadTrabajoObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByActitud", query = "SELECT c FROM CalificacionDesempeno c WHERE c.actitud = :actitud"),
    @NamedQuery(name = "CalificacionDesempeno.findByActitudObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.actitudObservaciones = :actitudObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByPuntualidad", query = "SELECT c FROM CalificacionDesempeno c WHERE c.puntualidad = :puntualidad"),
    @NamedQuery(name = "CalificacionDesempeno.findByPuntualidadObervaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.puntualidadObervaciones = :puntualidadObervaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByDisciplina", query = "SELECT c FROM CalificacionDesempeno c WHERE c.disciplina = :disciplina"),
    @NamedQuery(name = "CalificacionDesempeno.findByDisciplinaObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.disciplinaObservaciones = :disciplinaObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByCompromisos", query = "SELECT c FROM CalificacionDesempeno c WHERE c.compromisos = :compromisos"),
    @NamedQuery(name = "CalificacionDesempeno.findByCompromisosObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.compromisosObservaciones = :compromisosObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByCumplimiento", query = "SELECT c FROM CalificacionDesempeno c WHERE c.cumplimiento = :cumplimiento"),
    @NamedQuery(name = "CalificacionDesempeno.findByCumplimientoObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.cumplimientoObservaciones = :cumplimientoObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByOportunidadEntrega", query = "SELECT c FROM CalificacionDesempeno c WHERE c.oportunidadEntrega = :oportunidadEntrega"),
    @NamedQuery(name = "CalificacionDesempeno.findByOportunidadEntregaObservaciones", query = "SELECT c FROM CalificacionDesempeno c WHERE c.oportunidadEntregaObservaciones = :oportunidadEntregaObservaciones"),
    @NamedQuery(name = "CalificacionDesempeno.findByAspectosDestacar", query = "SELECT c FROM CalificacionDesempeno c WHERE c.aspectosDestacar = :aspectosDestacar"),
    @NamedQuery(name = "CalificacionDesempeno.findByAspectosMejorar", query = "SELECT c FROM CalificacionDesempeno c WHERE c.aspectosMejorar = :aspectosMejorar"),
    @NamedQuery(name = "CalificacionDesempeno.findByAceptacionPracticante", query = "SELECT c FROM CalificacionDesempeno c WHERE c.aceptacionPracticante = :aceptacionPracticante"),
    @NamedQuery(name = "CalificacionDesempeno.findByAceptacionSupervisorEnt", query = "SELECT c FROM CalificacionDesempeno c WHERE c.aceptacionSupervisorEnt = :aceptacionSupervisorEnt"),
    @NamedQuery(name = "CalificacionDesempeno.findByAceptacionSupervisorUniv", query = "SELECT c FROM CalificacionDesempeno c WHERE c.aceptacionSupervisorUniv = :aceptacionSupervisorUniv")})
public class CalificacionDesempeno implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected CalificacionDesempenoPK calificacionDesempenoPK;
    @Basic(optional = false)
    @NotNull
    @Column(name = "desempeno_cargo")
    private int desempenoCargo;
    @Size(max = 250)
    @Column(name = "desempeno_cargo_observaciones")
    private String desempenoCargoObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "cooperacion_trab_equipo")
    private int cooperacionTrabEquipo;
    @Size(max = 250)
    @Column(name = "cooperacion_trab_equipo_observaciones")
    private String cooperacionTrabEquipoObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "liderazgo_iniciativa")
    private int liderazgoIniciativa;
    @Size(max = 250)
    @Column(name = "liderazgo_iniciativa_observaciones")
    private String liderazgoIniciativaObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "comunicacion")
    private int comunicacion;
    @Size(max = 250)
    @Column(name = "comunicacion_observaciones")
    private String comunicacionObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "atencion_usuarios")
    private int atencionUsuarios;
    @Size(max = 250)
    @Column(name = "atencion_usuarios_observaciones")
    private String atencionUsuariosObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "calidad_trabajo")
    private int calidadTrabajo;
    @Size(max = 250)
    @Column(name = "calidad_trabajo_observaciones")
    private String calidadTrabajoObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "actitud")
    private int actitud;
    @Size(max = 250)
    @Column(name = "actitud_observaciones")
    private String actitudObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "puntualidad")
    private int puntualidad;
    @Size(max = 250)
    @Column(name = "puntualidad_obervaciones")
    private String puntualidadObervaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "disciplina")
    private int disciplina;
    @Size(max = 250)
    @Column(name = "disciplina_observaciones")
    private String disciplinaObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "compromisos")
    private int compromisos;
    @Size(max = 250)
    @Column(name = "compromisos_observaciones")
    private String compromisosObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "cumplimiento")
    private int cumplimiento;
    @Size(max = 250)
    @Column(name = "cumplimiento_observaciones")
    private String cumplimientoObservaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "oportunidad_entrega")
    private int oportunidadEntrega;
    @Size(max = 250)
    @Column(name = "oportunidad_entrega_observaciones")
    private String oportunidadEntregaObservaciones;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 400)
    @Column(name = "aspectos_destacar")
    private String aspectosDestacar;
    @Size(max = 400)
    @Column(name = "aspectos_mejorar")
    private String aspectosMejorar;
    @Size(max = 12)
    @Column(name = "aceptacion_practicante")
    private String aceptacionPracticante;
    @Size(max = 12)
    @Column(name = "aceptacion_supervisor_ent")
    private String aceptacionSupervisorEnt;
    @Size(max = 12)
    @Column(name = "aceptacion_supervisor_univ")
    private String aceptacionSupervisorUniv;
    @JoinColumn(name = "id_estudiante", referencedColumnName = "id_estudiante", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Estudiante estudiante;
    @JoinColumn(name = "id_supervisor_entidad", referencedColumnName = "id_supervisor_entidad", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private SupervisorEntidad supervisorEntidad;
    @Column (name="edicion_formato")
    @Basic(optional = false)
    @NotNull
    private boolean edicionFormato;    
    
    
    public CalificacionDesempeno() {
    }

    public CalificacionDesempeno(CalificacionDesempenoPK calificacionDesempenoPK) {
        this.calificacionDesempenoPK = calificacionDesempenoPK;
    }

    public CalificacionDesempeno(CalificacionDesempenoPK calificacionDesempenoPK, int desempenoCargo, int cooperacionTrabEquipo, int liderazgoIniciativa, int comunicacion, int atencionUsuarios, int calidadTrabajo, int actitud, int puntualidad, int disciplina, int compromisos, int cumplimiento, int oportunidadEntrega, String aspectosDestacar) {
        this.calificacionDesempenoPK = calificacionDesempenoPK;
        this.desempenoCargo = desempenoCargo;
        this.cooperacionTrabEquipo = cooperacionTrabEquipo;
        this.liderazgoIniciativa = liderazgoIniciativa;
        this.comunicacion = comunicacion;
        this.atencionUsuarios = atencionUsuarios;
        this.calidadTrabajo = calidadTrabajo;
        this.actitud = actitud;
        this.puntualidad = puntualidad;
        this.disciplina = disciplina;
        this.compromisos = compromisos;
        this.cumplimiento = cumplimiento;
        this.oportunidadEntrega = oportunidadEntrega;
        this.aspectosDestacar = aspectosDestacar;
    }

    public CalificacionDesempeno(int idCalificacionDesempeno, int idSupervisorEntidad, int idEstudiante) {
        this.calificacionDesempenoPK = new CalificacionDesempenoPK(idCalificacionDesempeno, idSupervisorEntidad, idEstudiante);
    }

    public CalificacionDesempenoPK getCalificacionDesempenoPK() {
        return calificacionDesempenoPK;
    }

    public void setCalificacionDesempenoPK(CalificacionDesempenoPK calificacionDesempenoPK) {
        this.calificacionDesempenoPK = calificacionDesempenoPK;
    }

    public int getDesempenoCargo() {
        return desempenoCargo;
    }

    public void setDesempenoCargo(int desempenoCargo) {
        this.desempenoCargo = desempenoCargo;
    }

    public String getDesempenoCargoObservaciones() {
        return desempenoCargoObservaciones;
    }

    public void setDesempenoCargoObservaciones(String desempenoCargoObservaciones) {
        this.desempenoCargoObservaciones = desempenoCargoObservaciones;
    }

    public int getCooperacionTrabEquipo() {
        return cooperacionTrabEquipo;
    }

    public void setCooperacionTrabEquipo(int cooperacionTrabEquipo) {
        this.cooperacionTrabEquipo = cooperacionTrabEquipo;
    }

    public String getCooperacionTrabEquipoObservaciones() {
        return cooperacionTrabEquipoObservaciones;
    }

    public void setCooperacionTrabEquipoObservaciones(String cooperacionTrabEquipoObservaciones) {
        this.cooperacionTrabEquipoObservaciones = cooperacionTrabEquipoObservaciones;
    }

    public int getLiderazgoIniciativa() {
        return liderazgoIniciativa;
    }

    public void setLiderazgoIniciativa(int liderazgoIniciativa) {
        this.liderazgoIniciativa = liderazgoIniciativa;
    }

    public String getLiderazgoIniciativaObservaciones() {
        return liderazgoIniciativaObservaciones;
    }

    public void setLiderazgoIniciativaObservaciones(String liderazgoIniciativaObservaciones) {
        this.liderazgoIniciativaObservaciones = liderazgoIniciativaObservaciones;
    }

    public int getComunicacion() {
        return comunicacion;
    }

    public void setComunicacion(int comunicacion) {
        this.comunicacion = comunicacion;
    }

    public String getComunicacionObservaciones() {
        return comunicacionObservaciones;
    }

    public void setComunicacionObservaciones(String comunicacionObservaciones) {
        this.comunicacionObservaciones = comunicacionObservaciones;
    }

    public int getAtencionUsuarios() {
        return atencionUsuarios;
    }

    public void setAtencionUsuarios(int atencionUsuarios) {
        this.atencionUsuarios = atencionUsuarios;
    }

    public String getAtencionUsuariosObservaciones() {
        return atencionUsuariosObservaciones;
    }

    public void setAtencionUsuariosObservaciones(String atencionUsuariosObservaciones) {
        this.atencionUsuariosObservaciones = atencionUsuariosObservaciones;
    }

    public int getCalidadTrabajo() {
        return calidadTrabajo;
    }

    public void setCalidadTrabajo(int calidadTrabajo) {
        this.calidadTrabajo = calidadTrabajo;
    }

    public String getCalidadTrabajoObservaciones() {
        return calidadTrabajoObservaciones;
    }

    public void setCalidadTrabajoObservaciones(String calidadTrabajoObservaciones) {
        this.calidadTrabajoObservaciones = calidadTrabajoObservaciones;
    }

    public int getActitud() {
        return actitud;
    }

    public void setActitud(int actitud) {
        this.actitud = actitud;
    }

    public String getActitudObservaciones() {
        return actitudObservaciones;
    }

    public void setActitudObservaciones(String actitudObservaciones) {
        this.actitudObservaciones = actitudObservaciones;
    }

    public int getPuntualidad() {
        return puntualidad;
    }

    public void setPuntualidad(int puntualidad) {
        this.puntualidad = puntualidad;
    }

    public String getPuntualidadObervaciones() {
        return puntualidadObervaciones;
    }

    public void setPuntualidadObervaciones(String puntualidadObervaciones) {
        this.puntualidadObervaciones = puntualidadObervaciones;
    }

    public int getDisciplina() {
        return disciplina;
    }

    public void setDisciplina(int disciplina) {
        this.disciplina = disciplina;
    }

    public String getDisciplinaObservaciones() {
        return disciplinaObservaciones;
    }

    public void setDisciplinaObservaciones(String disciplinaObservaciones) {
        this.disciplinaObservaciones = disciplinaObservaciones;
    }

    public int getCompromisos() {
        return compromisos;
    }

    public void setCompromisos(int compromisos) {
        this.compromisos = compromisos;
    }

    public String getCompromisosObservaciones() {
        return compromisosObservaciones;
    }

    public void setCompromisosObservaciones(String compromisosObservaciones) {
        this.compromisosObservaciones = compromisosObservaciones;
    }

    public int getCumplimiento() {
        return cumplimiento;
    }

    public void setCumplimiento(int cumplimiento) {
        this.cumplimiento = cumplimiento;
    }

    public String getCumplimientoObservaciones() {
        return cumplimientoObservaciones;
    }

    public void setCumplimientoObservaciones(String cumplimientoObservaciones) {
        this.cumplimientoObservaciones = cumplimientoObservaciones;
    }

    public int getOportunidadEntrega() {
        return oportunidadEntrega;
    }

    public void setOportunidadEntrega(int oportunidadEntrega) {
        this.oportunidadEntrega = oportunidadEntrega;
    }

    public String getOportunidadEntregaObservaciones() {
        return oportunidadEntregaObservaciones;
    }

    public void setOportunidadEntregaObservaciones(String oportunidadEntregaObservaciones) {
        this.oportunidadEntregaObservaciones = oportunidadEntregaObservaciones;
    }

    public String getAspectosDestacar() {
        return aspectosDestacar;
    }

    public void setAspectosDestacar(String aspectosDestacar) {
        this.aspectosDestacar = aspectosDestacar;
    }

    public String getAspectosMejorar() {
        return aspectosMejorar;
    }

    public void setAspectosMejorar(String aspectosMejorar) {
        this.aspectosMejorar = aspectosMejorar;
    }

    public String getAceptacionPracticante() {
        return aceptacionPracticante;
    }

    public void setAceptacionPracticante(String aceptacionPracticante) {
        this.aceptacionPracticante = aceptacionPracticante;
    }

    public String getAceptacionSupervisorEnt() {
        return aceptacionSupervisorEnt;
    }

    public void setAceptacionSupervisorEnt(String aceptacionSupervisorEnt) {
        this.aceptacionSupervisorEnt = aceptacionSupervisorEnt;
    }

    public String getAceptacionSupervisorUniv() {
        return aceptacionSupervisorUniv;
    }

    public void setAceptacionSupervisorUniv(String aceptacionSupervisorUniv) {
        this.aceptacionSupervisorUniv = aceptacionSupervisorUniv;
    }

    public Estudiante getEstudiante() {
        return estudiante;
    }

    public void setEstudiante(Estudiante estudiante) {
        this.estudiante = estudiante;
    }

    public SupervisorEntidad getSupervisorEntidad() {
        return supervisorEntidad;
    }

    public void setSupervisorEntidad(SupervisorEntidad supervisorEntidad) {
        this.supervisorEntidad = supervisorEntidad;
    }

    public boolean isEdicionFormato() {
        return edicionFormato;
    }

    public void setEdicionFormato(boolean edicionFormato) {
        this.edicionFormato = edicionFormato;
    }
    
    

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (calificacionDesempenoPK != null ? calificacionDesempenoPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof CalificacionDesempeno)) {
            return false;
        }
        CalificacionDesempeno other = (CalificacionDesempeno) object;
        if ((this.calificacionDesempenoPK == null && other.calificacionDesempenoPK != null) || (this.calificacionDesempenoPK != null && !this.calificacionDesempenoPK.equals(other.calificacionDesempenoPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Persistencia.CalificacionDesempeno[ calificacionDesempenoPK=" + calificacionDesempenoPK + " ]";
    }
    
}
